Is transactional memory an oxymoron?
نویسنده
چکیده
Transactional memory (TM) was invented 15 years ago [1]. Recently, however, TM activity has exploded [2], as the proliferation of multicore chips has provoked researchers to revisit support for parallel programming. Since some regard me as a TM expert, most of my talk will summarize TM’s goals and implementation options, primarily by developing a taxonomy and using Wisconsin LogTM [3, 4] as a case study. In particular, I will consider TM implementations via software, hardware, and hybrids, as well as important design choices, such as how to buffer TM writes and when to detect TM conflicts. I will conclude with forward-looking comments regarding TM and database transactions. In theory, the two concepts have many similarities. In practice, however, they differ substantially. First, today’s TM exclusively targets concurrency, while database transactions seek reliability first. Second, TM implementations focus in operations with caches and memory, while database transactions deal more with the more substantial access gap between memory and disks. Finally, I will speculate on cross-fertilization opportunities between TM and database transactions. I will not provide answers here, in part because you are the database experts. Nevertheless, I hope to encourage us all to ask the right questions. BIOGRAPHY Mark D. Hill is professor in both the Computer Sciences Department and the Electrical and Computer Engineering Department at the University of Wisconsin-Madison, where he also co-leads the Wisconsin Multifacet and LogTM projects. He earned a Ph.D. from the University of California, Berkeley. He is an ACM Fellow and a Fellow of the IEEE. His past work ranges from refining multiprocessor memory consistency models to developing the 3C model of cache behavior (compulsory, capacity, and conflict misses). He is a coauthor—with actual database experts—of two VLDB papers [1999 and best paper 2001]. 1 Permission to make digital or hard copies of portions of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyright for components of this work owned by others than VLDB Endowment must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers or to redistribute to lists requires prior specific permission and/or a fee. Request permission to republish from: Publications Dept., ACM, Inc. Fax +1 (212) 869-0481 or [email protected]. PVLDB '08, August 23-28, 2008, Auckland, New Zealand Copyright 2008 VLDB Endowment, ACM 978-1-60558-305-1/08/08
منابع مشابه
Oxymoron: Making Fine-Grained Memory Randomization Practical by Allowing Code Sharing
The latest effective defense against code reuse attacks is fine-grained, per-process memory randomization. However, such process randomization prevents code sharing since there is no longer any identical code to share between processes. Without shared libraries, however, tremendous memory savings are forfeit. This drawback may hinder the adoption of fine-grained memory randomization. We present...
متن کاملPredictable transactional memory architecture for hierarchical mixed-criticality systems
A transactional memory simplifies the concurrency management in multicore systems by permitting sets of load and store instructions to be executed in an atomic way. The correct results for concurrent transactions and the execution time strongly depend on the coherency potentials, rollback capabilities and strategies of the transactional memory. A transactional memory can be implemented as a Har...
متن کاملVerification of Transactional Memories that Support Non-Transactional Memory Accesses
A major challenge of Transactional memory implementations is dealing with memory accesses that occur outside of transactions. In previous work we showed how to specify transactional memory in terms of admissible interchanges of transaction operations, and gave proof rules for showing that an implementation satisfies its specification. However, we did not capture non-transactional memory accesse...
متن کاملAn Integrated Hardware-Software Approach to Transactional Memory
Transactional memory has been proposed as a general and flexible way to allow programs to read and modify disparate primary-memory locations atomically as a single operation, much as a database transaction can atomically modify many records on disk. Hardware transactional memory supports atomicity through architectural means, whereas software transactional memory supports atomicity through lang...
متن کاملDependence-Aware Transactional Memory
Transactional memory is a promising programming model to enable high performance programs with reasonable programmer effort on the parallel architectures favored by modern processor manufacturers. This paper introduces dependence-aware transactions, a new method for maintaining the conflict serializability safety property of memory transactions while allowing significant freedom for an implemen...
متن کاملPhTM: Phased Transactional Memory
Hybrid transactional memory (HyTM) [3] works in today’s systems, and can use future “best effort” hardware transactional memory (HTM) support to improve performance. Best effort HTM can be substantially simpler than alternative “unbounded” HTM designs being proposed in the literature, so HyTM both supports and encourages an incremental approach to adopting HTM. We introduce Phased Transactional...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- PVLDB
دوره 1 شماره
صفحات -
تاریخ انتشار 2008